CROSS_COMPILE	:= arm-none-linux-gnueabi-
ARCH		:= arm
BUILDROOT	:= $(MAKETOP)

INSTALL_PATH		:= $(MAKETOP)/usr/src/boot
INSTALL_MOD_PATH	:= $(BUILDROOT)
INSTALL_MOD_STRIP	:= --strip-unneeded -R .GCC-command-line

KBUILD_MODPOST_WARN = y
export KBUILD_MODPOST_WARN

ifdef NODEBUG
KBUILD_NODEBUG = y
endif

MFLAGS		+= ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) INSTALL_PATH=$(INSTALL_PATH) INSTALL_MOD_PATH=$(INSTALL_MOD_PATH) INSTALL_MOD_STRIP="$(INSTALL_MOD_STRIP)"

export INSTALL_MOD_PATH

system: save-timestamp configs vmlinux modules modules_install pana_modules_install load-timestamp uImage_uboot

configs:
	@[ -f include/linux/autoconf.h ] || $(MAKE) oldconfig

include Makefile

#.PHONY: _all
#_all:
#	$(MAKE) -f Makefile $(MFLAGS)

#install: .config
#	$(MAKE) -f Makefile $(MFLAGS) install modules modules_install

#GNUmakefile: ;

#%:: FORCE
#	$(MAKE) -f Makefile $(MFLAGS) $@

#FORCE:

PANA_INSTALL_PATH=${BUILDROOT}/usr/dtvrec/modules
PANA_INSTALL_MODULES=drivers/scc/combined.ko drivers/recsdrv/recsd.ko drivers/iosc/iosc.ko drivers/sd_cs/modules/Sdd/sdmc_sdd.ko
pana_modules_install:
	mkdir -p $(PANA_INSTALL_PATH)
	@for mod in $(PANA_INSTALL_MODULES); do\
		if [ -f $$mod ]; then cp -vp $$mod $(PANA_INSTALL_PATH); fi; \
	done

uImage_uboot:
ifeq (, $(wildcard $(BUILDROOT)/usr/src/boot/u-boot/tools/mkimage))
	$(MAKE) -C $(BUILDROOT)/usr/src/boot/u-boot MN2WS0220_ref_config
	$(MAKE) -C $(BUILDROOT)/usr/src/boot/u-boot
endif
	cd $(BUILDROOT)/usr/src/boot/u-boot && ./build_uboot.sh kernel_only

save-timestamp:
	@echo "save autoconf.h timestamp"
	@if [ -f include/linux/autoconf.h ]; then \
		cp -au include/linux/autoconf.h include/linux/autoconf.h.orig ;\
	fi

load-timestamp:
	@if cmp -s include/linux/autoconf.h include/linux/autoconf.h.orig ; then \
		echo "restore autoconf.h timestamp" ;\
		touch -r include/linux/autoconf.h.orig include/linux/autoconf.h ;\
	fi
#
# dependencies
#
save-timestamp:
configs: | save-timestamp
vmlinux: | configs
modules: | vmlinux
modules_install: modules
pana_modules_install: | modules
load-timestamp: | configs
uImage_uboot: | vmlinux
_modinst_: | modules
